home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 34.zip
/
BS1 part 34
/
GFA basic training.adf
/
Requester
/
SCHIEBEREGLER.LST
< prev
next >
Wrap
File List
|
1989-06-01
|
3KB
|
92 lines
@schiebe_regler(180,80,"Frequenz-Einstellung!",0,0,0,100,wert&)
PROCEDURE schiebe_regler(x%,y|,u$,g_x%,g_y|,min&,max&,VAR wert&)
'
u_breite%=LEN(u$)*8
b_breite%=MAX(u_breite%+10,g_x%+10,268)
b_hÖhe%=(12+10)+g_y|+(12+10)+10+(12+10)
mitte&=x%+b_breite%/2
'
' Hintergrund retten
COLOR 0
GET x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4,hintergrund$
PBOX x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4
COLOR 1
' Box zeichnen
BOX x%,y|,x%+b_breite%+6,y|+b_hÖhe%+4
BOX x%+3,y|+2,x%+b_breite%+3,y|+b_hÖhe%+2
ADD x%,3
ADD y|,2
' Überschrift setzen
BOX mitte&-u_breite%/2-2,y|+5,mitte&+u_breite%/2+2,y|+17
TEXT mitte&-u_breite%/2,y|+14,u$
' Graphik setzen
IF g_x%>0
PUT mitte&-g_x%/2,y|+22,grafik$
ENDIF
' Box für Wert mit Wert
BOX mitte&-25,y|+12+10+g_y|+5,mitte&+25,y|+12+10+g_y|+17
tl|=LEN(STR$(wert&))*8
ty|=y|+12+10+g_y|+14
TEXT mitte&-tl|/2,ty|,wert&
' Slider zeichnen
sxl&=mitte&-109
sxr&=mitte&+109
syo&=y|+(12+10)+g_y|+(12+10)
syu&=syo&+10
BOX sxl&,syo&,sxr&,syu&
BOX sxl&-20,syo&,sxr&+20,syu&
TEXT sxl&-14,syu&-2,"-"
TEXT sxr&+6,syu&-2,"+"
' Ende Button
text$="Eingabe abbrechen!"
x1%=mitte&-(LEN(text$)*8+10)/2
x2%=mitte&+(LEN(text$)*8+10)/2
y1|=y|+b_hÖhe%-17
y2|=y|+b_hÖhe%-5
BOX x1%,y1|,x2%,y2|
TEXT mitte&-(LEN(text$)*8/2),y2|-3,text$
' Sprite-Daten
sprite$=""
FOR i|=1 TO 18
sprite$=sprite$+CHR$(0)+CHR$(255)
NEXT i|
SPRITE #2,sprite$
'
spy|=syo&+23
spx&=(sxl&-12)+(SUCC(wert&-min&)/(SUCC(max&-min&)/200))
SPRITE #2,spx&,spy|
'
REPEAT
WHILE MOUSEX>sxl&-20 AND MOUSEX<sxr&+20 AND MOUSEY>syo& AND MOUSEY<syu& AND MOUSEK=1
IF MOUSEX>sxl& AND MOUSEX<sxr&
spx&=MOUSEX-18
IF spx&<sxl&-11
spx&=sxl&-11
ELSE IF spx&>sxr&-30
spx&=sxr&-30
ENDIF
wert&=min&+SUCC(max&-min&)/200*(spx&-sxl&+11)
ELSE IF MOUSEX>sxr& AND MOUSEX<sxr&+20 AND wert&<max&
PAUSE 3
INC wert&
spx&=(sxl&-12)+(SUCC(wert&-min&)/(SUCC(max&-min&)/200))
ELSE IF MOUSEX>sxl&-20 AND MOUSEX<sxl& AND wert&>min&
PAUSE 3
DEC wert&
spx&=(sxl&-12)+(SUCC(wert&-min&)/(SUCC(max&-min&)/200))
ENDIF
IF LEN(STR$(wert&))*8<>tl|
COLOR 0
PBOX mitte&-24,y|+g_y|+28,mitte&+24,y|+g_y|+38
COLOR 1
ENDIF
tl|=LEN(STR$(wert&))*8
TEXT mitte&-tl|/2,ty|,wert&
SPRITE #2,spx&,spy|
WEND
UNTIL MOUSEX>x1% AND MOUSEX<x2% AND MOUSEY>y1| AND MOUSEY<y2| AND MOUSEK=1
SPRITE #2
PUT x%-3,y|-2,hintergrund$
hintergrund$=""
RETURN